#pragma once
#include "GEngine/GCore.h"

#define DLLEXPORT __declspec(dllexport)
extern "C"
{
	DLLEXPORT void __stdcall InitD3D(HWND hWnd, double width, double height);

	DLLEXPORT int __stdcall RenderFrame(void);

	DLLEXPORT void __stdcall MsgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);

	DLLEXPORT void __stdcall SaveScene();

	DLLEXPORT int __stdcall GetSceneObjectNum(void);

	DLLEXPORT const char* __stdcall GetSceneObjectName(int index);

	DLLEXPORT void __stdcall SelectSceneObject(char* sceneObjectName);

	DLLEXPORT void __stdcall CreateSceneObject(char* sceneObjectName, char* meshUniqueName);

	DLLEXPORT bool __stdcall SceneObjectExists(char* tryName);

	DLLEXPORT void __stdcall DeleteSceneObject(char* deleteName);

	DLLEXPORT void __stdcall SetProjectName(char* projName);

	DLLEXPORT void __stdcall GetSceneObjectTransform(char* objName, float* trans);

	DLLEXPORT void __stdcall SetSceneObjectTransform(char* objName, float* trans);

	DLLEXPORT const char* __stdcall GetSceneObjectMeshName(char* objName);

	DLLEXPORT void __stdcall SetSceneObjectMesh(char* sceneObjectName, char* meshUniqueName);

	DLLEXPORT void __stdcall SetExternData(UINT ini);
	
}

